package com.tedu.element;

import java.awt.Graphics;

import javax.swing.ImageIcon;

public class MapObj extends ElementObj{
//	墙需要血量	
	private int hp;
	private String name;//墙的type  也可以使用枚举

	// 源图像
	private int x1;
	private int y1;

	@Override
	public void showElement(Graphics g) {
		g.drawImage(this.getIcon().getImage(),
				this.getX(), this.getY(), this.getX()+30, this.getY()+30,
				x1, y1, x1+32, y1+32,
				null);
	}
	
	@Override   // 如果可以传入   墙类型,k1,b1() 30*30显示大小
	public ElementObj createElement(String str) {
// 		System.out.println(str); // 名称,x,y
// 		//确认数据传输是对的。 因为只要是使用的配置文件，那么配置文件的格式一定要正确。
// //		只要是需要做字符串解析，那么一定要保证字符串的格式是符合要求的
		String []arr=str.split(",");
//		先写一个假图片再说
		ImageIcon icon = new ImageIcon("image/boxMap.png");
		
		switch(arr[0]) { //设置图片信息 图片还未加载到内存中
			case "1": x1=0; y1=64; break;
			case "2": x1=32; y1=0; break;
			case "3": x1=0; y1=0; break;
			case "4": x1=96; y1=0; break;
			case "5": x1=0; y1=32; break;
			case "6": x1=32; y1=32; break;
			case "7": x1=64; y1=32; break;
			case "8": x1=96; y1=32; break;
			case "9": x1=0; y1=64; break;
			case "10": x1=32; y1=64; break;
		}
		int x=Integer.parseInt(arr[1]);
		int y=Integer.parseInt(arr[2]);
		this.setX(x);
		this.setY(y);
		this.setIcon(icon);
		return this;
	}
	@Override  //说明 这个设置扣血等的方法 需要自己思考重新编写。
		public void setLive(boolean live) {
//			被调用一次 就减少一次血。
			if("IRON".equals(name)) {// 水泥墙需要4下
				this.hp--;
				if(this.hp >0) {
					return;
				}
			}
			super.setLive(live);
		}
	
	
}




